package com.peas.platform.module.icims.contract.expenses.controller.vo;

import java.util.*;
import java.math.*;
import com.peas.platform.common.core.annotation.Comment;
import com.peas.platform.common.core.vo.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("合同支付单")
public class ContractOutgoingsVo extends BaseVo {

    // 【初始合同表】
    @Comment(value = "合同ID")
    @ApiModelProperty(value = "合同ID")
    private Long contractInitialId;

    @Comment(value = "合同支付编码")
    @ApiModelProperty(value = "合同支付编码")
    @NotBlank(message = "合同支付编码不能为空")
    @Size(max = 20, message = "合同支付编码不能超过20个字符")
    private String code;

    @Comment(value = "付款批次")
    @ApiModelProperty(value = "付款批次")
    @Size(max = 20, message = "付款批次不能超过20个字符")
    private String batchNo;

    @Comment(value = "收款单位")
    @ApiModelProperty(value = "收款单位")
    @Size(max = 200, message = "收款单位不能超过200个字符")
    private String company;

    @Comment(value = "银行")
    @ApiModelProperty(value = "银行")
    @Size(max = 200, message = "银行不能超过200个字符")
    private String bank;

    @Comment(value = "银行账号")
    @ApiModelProperty(value = "银行账号")
    @Size(max = 200, message = "银行账号不能超过200个字符")
    private String account;

    @Comment(value = "付款金额")
    @ApiModelProperty(value = "付款金额")
    private BigDecimal amount;

    @Comment(value = "状态")
    @ApiModelProperty(value = "状态")
    @Size(max = 20, message = "状态不能超过20个字符")
    private String state;

    @Comment(value = "支付时间")
    @ApiModelProperty(value = "支付时间")
    private Date payTime;

    @Comment(value = "支付方式")
    @ApiModelProperty(value = "支付方式")
    @Size(max = 20, message = "支付方式不能超过20个字符")
    private String payType;

    @Comment(value = "银行流水号")
    @ApiModelProperty(value = "银行流水号")
    @Size(max = 200, message = "银行流水号不能超过200个字符")
    private String transaction;

    @Comment(value = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

}
